﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AiXiu.Model;

namespace AiXiu.IDAL
{
    public interface IVideoDAL
    {
        /// <summary>
        /// 添加视频
        /// </summary>
        /// <param name="video">添加的视频信息</param>
        /// <returns>添加视频结果</returns>
        int addVideo(TBVideos video);

        /// <summary>
        /// 获取所有需要同步状态的视频信息
        /// </summary>
        /// <returns></returns>
        List<string> GetVideosIdByState();

        /// <summary>
        /// 更新视频状态
        /// </summary>
        /// <returns>更新成功的数量</returns>
        int UpdateVideosState(List<VideoInfo> newTBVideos);

        /// <summary>
        /// 获取视频列表
        /// </summary>
        /// <returns></returns>
        List<TBVideos> GetVideosList();

        /// <summary>
        /// 根据视频Id获取视频信息
        /// </summary>
        /// <param name="videoId"></param>
        /// <returns></returns>
        TBVideos GetVideoById(string videoId);

        /// <summary>
        /// 根据用户Id获取视频列表
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <returns></returns>
        List<TBVideos> GetTBVideosByUserId(int userId);

        /// <summary>
        /// 删除指定Id的视频
        /// </summary>
        /// <param name="videoId">视频Id</param>
        /// <returns></returns>
        int DeleteVideoById(string videoId);
    }
}
